package servicios;

import aterrizar.Usuario;
import daos.VueloDAO;
import model.Asiento;

public class ReservarAsiento implements Operation<Asiento> {
	
		private Long codAsiento;
		private Long vueloID;
		private Long tramoID;
		private Usuario usuario;

	public ReservarAsiento(Long codAsiento, Long vueloID, Long tramoID,Usuario usuario) {
			super();
			this.codAsiento = codAsiento;
			this.vueloID = vueloID;
			this.tramoID = tramoID;
			this.usuario = usuario;
		}

	public Asiento execute() {
			Asiento asientoAux = new VueloDAO().getAsiento(this.vueloID, this.tramoID, this.codAsiento);
				if (asientoAux.estaReservado()){
					throw new RuntimeException("Ya me encuentro reservado.");
				} else {
					asientoAux.setEstaReservado(true);
					asientoAux.setUsuario(this.usuario);
				}
		return asientoAux;
	}	


}
